Algunas definiciones

Nuestra principal guía

Text Mining with R (2019) por Julia Silge y David Robinson.

CASO PRÁCTICO:

WEB LISTENING Y NLP PARA EXTRAER INFORMACIÓN DE NOTICIAS WEB

¿Qué es el Web Listening?

Es el proceso que identifica lo que se dice sobre una entidad (persona, empresa,país, partido político, etc.) en fuentes de datos como: periódicos en línea, redes sociales y blogs.

NLP para los titulares de periódicos online

  • Los periódicos en línea como El Universo, El Comercio, entre otros; son fuentes lingüísticas invaluables para determinar el análisis de texto. La adquisición sistemática de datos de artículos de periódicos para crear un corpus de texto, que permita realizar el análisis de texto puede hacerse mediante web listening.

  • Hoy, la mayoría de los lectores de noticias leen la versión en línea de los artículos de noticias en lugar de los periódicos tradicionales en papel.

  • Este caso práctico ilustrará cómo ejecutar la extracción diaria, transformación y carga (ETL) de artículos a partir de palabras clave encontradas en los encabezados de los diarios en línea.

  • Los periódicos en línea dedican mucho esfuerzo para escribir titulares interesantes que capten la atención de los usuarios en línea.

  • El titular de la noticia proporciona la esencia de un artículo de noticias que ayuda al lector a comprender la idea completa de las noticias sin leerlas.

  • El objetivo es: analizar los sentimientos expresados en las noticias y realizar un modelado de tópicos para identificar si existe relación entre ellos.

  • En política, poder rastrear un artículo en todos los medios y medir tanto el sentimiento como el consenso podría ser una herramienta útil para rastrear la opinión pública y ajustar los mensajes.

¿Porqué es importante?

  • Para tener una visión extendida de la información que está siendo entregada a las personas sobre algún tema.

  • Manejo de crisis, este análisis también ayuda a abordar los desastres de relaciones públicas antes de que se salgan de control. Si el sentimiento es negativo, las acciones apropiadas podrían evitar un paso en falso similar en el futuro.

  • Rastrear competidores, para comprender lo que ocurre con sus competidores.También se podría saber qué hacen sus competidores en tiempo real. ¿Están lanzando una nueva campaña?, ¿Desarrollando nuevas estrategias?, ¿Están recibiendo una paliza en la prensa?

  • El análisis de texto le permite conocer estas nuevas oportunidades y amenazas a medida que ocurren, para que pueda planificar y responder en consecuencia.

  • Adicionalmente, una de la sutilidades más importantes será el identificar noticias falsas o que atentan contra la reputación del ente para tomar acciones inmediatas.

Para desarrollar el caso práctico, buscamos en diarios nacionales las siguientes palabras: Jorge Yunda Quito y Cynthia Viteri Guayaquil en el periodo de timpo de los últimos siete días para los diarios: El Comercio, Diario la Opinión, Diario Ecuador, Diario el Telégrafo, El Universo, El Extra, entre otros.

Nuestra principal guía

Text Mining with R (2019) por Julia Silge y David Robinson.

Carga de librerías

library(tidyverse) # Manejo y carga de datos en formato tidy
library(tidytext) # Manejo de texto en formato tidy
library(tm) # Procesamiento de texto
library(readxl) # Lectura de archivos excel
library(udpipe) # Modelos diseñados para lematización

Carga de los datos recolectados

load("noticiasDF.RData")
noticiasYundaDF$Acerca = "Jorge Yunda"
noticiasViteriDF$Acerca = "Cynthia Viteri"
NoticiasDF = rbind.data.frame(noticiasViteriDF, noticiasYundaDF)
NoticiasDF$noticia = NoticiasDF$Noticia
NoticiasDF$titular = NoticiasDF$Titular
NoticiasDF = NoticiasDF[!is.na(NoticiasDF$Noticia),]
head(NoticiasDF)
##                                                                                                                                                      Titular
## 1                                                                                               Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil
## 2                                                                        Alcaldesa de Guayaquil, Cynthia Viteri, anuncia que está contagiada con coronavirus
## 3                                              Coronavirus en Ecuador: Cynthia Viteri y otros alcaldes de Guayas rechazan aterrizaje de aviones en Guayaquil
## 4 Alexandra Ocles, sobre decisión de Cynthia Viteri de no permitir ingreso de avión desde España: Es una acción que seguramente tendrá consecuencias legales
## 5                                                                      Cynthia Viteri fue visitada por la policía y confirmó que su esposo tiene coronavirus
## 6                                                                                              Adultos mayores acuden a los mercados en horario preferencial
##                  Fecha        Diario
## 1 2020-03-24T23:41:00Z Metro Ecuador
## 2 2020-03-19T15:36:28Z   El Universo
## 3 2020-03-22T03:58:45Z   El Universo
## 4 2020-03-19T15:32:54Z   El Universo
## 5 2020-03-19T17:55:00Z Metro Ecuador
## 6 2020-03-26T05:00:52Z   El Universo
##                                                                                                                             Link
## 1          https://www.metroecuador.com.ec/ec/noticias/2020/03/24/alcaldesa-cynthia-viteri-anuncio-nuevas-medidas-guayaquil.html
## 2     https://www.eluniverso.com/guayaquil/2020/03/19/nota/7787961/coronavirus-alcaldesa-guayaqulcynthia-viteri-anuncia-que-esta
## 3 https://www.eluniverso.com/guayaquil/2020/03/21/nota/7790925/coronavirus-ecuador-cynthia-viteri-otros-alcaldes-guayas-rechazan
## 4  https://www.eluniverso.com/noticias/2020/03/19/nota/7787949/alexandra-ocles-sobre-decision-cynthia-viteri-no-permitir-ingreso
## 5                 https://www.metroecuador.com.ec/ec/noticias/2020/03/19/esposo-cynthia-viteri-tambien-coronavirus-covid-19.html
## 6              https://www.eluniverso.com/guayaquil/2020/03/26/nota/7795032/adultos-mayores-acuden-mercados-horario-preferencial
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Noticia
## 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Cynthia Viteri modificó horarios para la atención, e informó que la urbe porteña está pasando otros males. Viteri dispuso que la Empresa Municipal de Agua Potable de Guayaquil distribuya gratuitamente agua a 150 mil personas que viven en monte Sinaí. “Esto durará hasta la finalización del estado de emergencia”, señaló.   Destacó que no hay transporte urbano público en la ciudad. "Los adultos mayores, solo adultos mayores, podrán acudir a los mercados desde las 09:00 hasta las 11:00." Esto con el objetivo de facilitar sus compras. El resto de personas (edades) podrán realizarlo en los demás horarios hasta las 14:00 que empieza el toque de queda a nivel nacional.   Nueva amenaza Viteri indicó que el coronavirus no es lo único que enfrenta la ciudad, también hay dengue. “Se está fumigando casas de cada sector de la ciudad. Se han entregado 32 mil toldos casa por casa. Se fumigarán todos los sectores de Guayaquil”, acotó Cynthia. "Estamos colaborando con las Fuerzas Armadas, se entregaron 20 camionetas con combustibles para que puedan patrullar en los toques de queda. Además, los vehículos están conectados al sistema de video vigilancia." Todos los días, desde que vino el paciente cero al Ecuador, vivimos momentos de oscuridad. Destacamos que dentro de nosotros está la luz.   Donaciones "Estamos recibiendo donaciones de todo tipo (alimentos, mascarillas, jabones, etc). 043727830/3727830 son los números de Corporación Ciudadana para las personas que deseen realizar donaciones." Estamos convencidos de que, si trata de uno, se trata de todos. A todos los guayaquileños les pido que se sigan cuidando, que cuiden de los ancianos, se queden en casa, finalizó Cynthia Viteri alcaldesa de Guayaquil. Video 
## 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 La acaldesa de Guayaquil, Cynthia Viteri, anunció esta mañana que hace pocos minutos fue informada que está contagiada con coronavirus COVID-19. Mediante una publicación en Instagram dijo que la transmisión en redes sociales la hizo para comunicar que ha sido contagiada, pero expresó que seguirá animando a la ciudad desde el lugar donde esté.  Volvió a pedir que estén en su casa, que permanezcan sanos, Agradeció a todos los profesionales de la salud que ofrecen su vida por cuidar a los enfermos. Envió un mensaje a sus hijos de que ella y su esposo estarán bien. Guayaquil es la ciudad con más casos confirmados de coronavirus COVID-19, con 157 contagiados.  El reporte N° 12, con corte a las 08:00 de este jueves 19 de marzo, informó que los casos aumentaron a 199 en el país; además 575 personas están en cerco epidemiológico activo. Y otras 320 son casos con sospecha. Unas 336 personas son casos descartados de la enfermedad. (I)
## 3                                                                                                                                                                                                     Tras la polémica ocurrida esta semana en el aeropuerto de Guayaquil, luego de que la alcaldesa Cynthia Viteri dispuso el bloqueo de la pista con vehículos públicos, ella y otros tres alcaldes de Guayas, además del prefecto Carlos Luis Morales, emitieron este sábado un comunicado para responsabilizar al Gobierno Nacional por el posible aumento de casos de coronavirus en la provincia. Viteri recordó que el martes acordó con autoridades del Gobierno central que ningún avión llegaría ni saldría del aeropuerto de Guayaquil, debido a que Guayas es la provincia con más casos confirmados de coronavirus en el país. Además están cerrados los accesos vehiculares y hay toque de queda de 16:00 a 05:00 del día siguiente. Sin embargo, el Régimen permitió que un vuelo de KLM, y otro de Iberia, se dirigieran a Guayaquil para recoger a decenas de ciudadanos extranjeros que se encontraban en la terminal, a la espera de ser trasladados a sus países, ante la crisis sanitaria mundial. \nGobierno de Ecuador dará bono de contingencia de $60 a trabajadores que viven del día a día\n\n  Fue entonces cuando Viteri dispuso que camionetas municipales ingresaran a la pista para evitar que lleguen esas aeronaves. Al final debieron desviarse a Quito. El gesto fue rechazado por el Ministerio de Transporte, y la Fiscalía anunció una investigación. "Dejé muy claro que nadie pretendió, ni pretende atentar contra el derecho de los extranjeros a partir, ni de los nacionales a regresar, pero que se tenía que hacer desde aeropuertos y ciudades que no estuvieran en el exclusivo estado de aislamiento decretado para Guayaquil y Guayas, y desde pistas alternativas como Taura (Guayas), Salinas (Santa Elena) o Manta (Manabí), con aviones adecuados y con prácticas sanitarias especiales", aseveró Viteri. El documento, de seis puntos, también lo firman Juan José Yúnez, alcalde de Samborondón; Wilson Cañizárez, de Daule; y Dalton Narváez, de Durán. Los cinco firmantes pertenecen al Partido Social Cristiano (PSC).   Los alcaldes rechazaron que el Gobierno haya autorizado el aterrizaje de aviones, porque consideran que, al concentrarse en la ciudad la llegada de pasajeros, puede aumentar el "contagio exponencial del coronavirus en la provincia del Guayas y, especialmente, en Guayaquil". (I)
## 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       La directora del Servicio de Gestión de Riesgos, Alexandra Ocles se refirió este jueves a la decisión de la alcaldesa de guayaquil, Cynthia Viteri, de no permitir el ingreso de una aeronave de KLM, que venía desde España, al aeropuerto del Puerto Principal. En el primero de dos reportes, vía virtual, Ocles Ocles señaló que es una acción que seguramente tendrá consecuencias legales y como país se ratifica reciprocidad con los países europeos. "Lo sucedido ayer no solucionó un problema, lo complicó más. Lo importante es lograr que los ciudadanos extranjeros puedan salir del país". Según Viteri, la nave venía desde Madrid con once tripulantes, quienes iban a quedarse en un hotel de Guayaquil hasta el próximo viernes. En una rueda de prensa virtual, la alcaldesa explicó que durante una reunión que mantuvo el miércoles con el vicepresidente de la República, Otto Sonnenholzner, y el ministro de Transporte, Gabriel Martínez, les advirtió que impediría el aterrizaje de dicha nave. "¿Cómo es posible que iban a permitir que hoy aterrice un avión de Madrid con once tripulantes para que se queden en la ciudad de mayor grado de casos de coronavirus hasta el día viernes de esta semana para que vuelva a despegar con pasajeros? Eso, lamentablemente, es criminal", dijo Viteri. (I)
## 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      La noticia de que Cynthia Viteri tiene coronavirus se dio a conocer durante mañana de este jueves 19 de marzo. A pocas horas de su video, la Alcaldesa de Guayas mostró otra grabación de una visita de un policía y confirmó el contagio de su esposo.   A través de un video en las redes sociales, Cynthia Viteri confirmó que estaba infectada. Ante esta declaración, la alcaldesa informó que la policía acudido a su hogar para preguntar si el Ministerio de Salud Pública le había notificado su contagio. La Alcaldeza se encargó de grabar el momento en el que el policía le pedía datos y ella le entregaba toda la información pertinente. Además, durante la grabación, Viteri señala que su esposo también está contagiado. Hay dos casos confirmados por el Ministerio de Salud. El caso de mi marido, Joaquín Villamar, y mi caso, Cynthia Viteri". Además, la Alcaldesa señaló que el Ministerio de Salud acudió a su casa para hacerles las pruebas durante la noche del martes 17 de marzo. "Esta mañana nos informaron que somos positivos".  Puedes leer      
## 6  Aunque en el país existe la restricción por parte de las autoridades de Salud de que las personas de la tercera edad salgan de sus casas, en Guayaquil hay un plan para que puedan ingresar a los mercados, esto debido a que muchos adultos mayores no tienen quién los ayude con las compras del día. Por la emergencia sanitaria ocasionada por el COVID-19 y el toque de queda que rige en todo el país, la alcaldesa Cynthia Viteri anunció una nueva disposición para la atención de adultos mayores en mercados de la ciudad, que se ejecuta desde ayer. A este segmento de la población se atiende exclusivamente de 09:00 a 11:00.  En este horario solo se recibe a personas mayores de 65 años. La funcionaria reconoció que muchas no cuentan con familiares o personas allegadas que salgan a comprar por ellas, para evitar que se expongan al contagio del coronavirus. Lucía Torres, de 72 años de edad, menciona que este tipo de medidas ayudan a que los adultos mayores puedan hacer sus compras más rápido, debido a que en muchas ocasiones se les dificulta caminar ante la aglomeración de personas que suele haber en estos sitios. “A mí me toca hacer las compras por mí misma porque mis hijos viven fuera de Guayaquil y no tengo familiares cercanos a quienes acudir. Que nos hayan dado un horario preferencial nos facilita un poco las cosas porque además de caminar cómodos podemos encontrar los alimentos que necesitamos”, señala Torres, quien fue al mercado municipal de Sauces 9. Fernando Fajardo tiene 69 años y ayer hizo sus compras a las 09:30 en el mercado municipal ubicado en la 27 y la J, suroeste de la urbe. “Hay un control sanitario muy bueno por parte de las autoridades para evitar el contagio del virus; todos los puestos lucen ordenados y limpios. La medida ayuda para que nosotros, que somos el grupo más vulnerable para contraer el coronavirus, podamos tomar distancia del prójimo y así tener contactos innecesarios. Además, así podemos realizar las compras más rápido”, dijo. Jorge Rodríguez, funcionario del Municipio, mencionó que en los 37 mercados urbanos de la red municipal se tiene establecido el mismo horario de atención preferencial, el cual es el que más registra flujo de personas. Además, Rodríguez no descartó que la Autoridad de Tránsito Municipal (ATM) y la Policía Metropolitana ayuden a personas de la tercera edad a realizar sus compras. Mediante un enlace virtual, Viteri destacó que el horario de los mercados municipales es de 06:00 a 14:00. (I)
##           Acerca
## 1 Cynthia Viteri
## 2 Cynthia Viteri
## 3 Cynthia Viteri
## 4 Cynthia Viteri
## 5 Cynthia Viteri
## 6 Cynthia Viteri
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      noticia
## 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Cynthia Viteri modificó horarios para la atención, e informó que la urbe porteña está pasando otros males. Viteri dispuso que la Empresa Municipal de Agua Potable de Guayaquil distribuya gratuitamente agua a 150 mil personas que viven en monte Sinaí. “Esto durará hasta la finalización del estado de emergencia”, señaló.   Destacó que no hay transporte urbano público en la ciudad. "Los adultos mayores, solo adultos mayores, podrán acudir a los mercados desde las 09:00 hasta las 11:00." Esto con el objetivo de facilitar sus compras. El resto de personas (edades) podrán realizarlo en los demás horarios hasta las 14:00 que empieza el toque de queda a nivel nacional.   Nueva amenaza Viteri indicó que el coronavirus no es lo único que enfrenta la ciudad, también hay dengue. “Se está fumigando casas de cada sector de la ciudad. Se han entregado 32 mil toldos casa por casa. Se fumigarán todos los sectores de Guayaquil”, acotó Cynthia. "Estamos colaborando con las Fuerzas Armadas, se entregaron 20 camionetas con combustibles para que puedan patrullar en los toques de queda. Además, los vehículos están conectados al sistema de video vigilancia." Todos los días, desde que vino el paciente cero al Ecuador, vivimos momentos de oscuridad. Destacamos que dentro de nosotros está la luz.   Donaciones "Estamos recibiendo donaciones de todo tipo (alimentos, mascarillas, jabones, etc). 043727830/3727830 son los números de Corporación Ciudadana para las personas que deseen realizar donaciones." Estamos convencidos de que, si trata de uno, se trata de todos. A todos los guayaquileños les pido que se sigan cuidando, que cuiden de los ancianos, se queden en casa, finalizó Cynthia Viteri alcaldesa de Guayaquil. Video 
## 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 La acaldesa de Guayaquil, Cynthia Viteri, anunció esta mañana que hace pocos minutos fue informada que está contagiada con coronavirus COVID-19. Mediante una publicación en Instagram dijo que la transmisión en redes sociales la hizo para comunicar que ha sido contagiada, pero expresó que seguirá animando a la ciudad desde el lugar donde esté.  Volvió a pedir que estén en su casa, que permanezcan sanos, Agradeció a todos los profesionales de la salud que ofrecen su vida por cuidar a los enfermos. Envió un mensaje a sus hijos de que ella y su esposo estarán bien. Guayaquil es la ciudad con más casos confirmados de coronavirus COVID-19, con 157 contagiados.  El reporte N° 12, con corte a las 08:00 de este jueves 19 de marzo, informó que los casos aumentaron a 199 en el país; además 575 personas están en cerco epidemiológico activo. Y otras 320 son casos con sospecha. Unas 336 personas son casos descartados de la enfermedad. (I)
## 3                                                                                                                                                                                                     Tras la polémica ocurrida esta semana en el aeropuerto de Guayaquil, luego de que la alcaldesa Cynthia Viteri dispuso el bloqueo de la pista con vehículos públicos, ella y otros tres alcaldes de Guayas, además del prefecto Carlos Luis Morales, emitieron este sábado un comunicado para responsabilizar al Gobierno Nacional por el posible aumento de casos de coronavirus en la provincia. Viteri recordó que el martes acordó con autoridades del Gobierno central que ningún avión llegaría ni saldría del aeropuerto de Guayaquil, debido a que Guayas es la provincia con más casos confirmados de coronavirus en el país. Además están cerrados los accesos vehiculares y hay toque de queda de 16:00 a 05:00 del día siguiente. Sin embargo, el Régimen permitió que un vuelo de KLM, y otro de Iberia, se dirigieran a Guayaquil para recoger a decenas de ciudadanos extranjeros que se encontraban en la terminal, a la espera de ser trasladados a sus países, ante la crisis sanitaria mundial. \nGobierno de Ecuador dará bono de contingencia de $60 a trabajadores que viven del día a día\n\n  Fue entonces cuando Viteri dispuso que camionetas municipales ingresaran a la pista para evitar que lleguen esas aeronaves. Al final debieron desviarse a Quito. El gesto fue rechazado por el Ministerio de Transporte, y la Fiscalía anunció una investigación. "Dejé muy claro que nadie pretendió, ni pretende atentar contra el derecho de los extranjeros a partir, ni de los nacionales a regresar, pero que se tenía que hacer desde aeropuertos y ciudades que no estuvieran en el exclusivo estado de aislamiento decretado para Guayaquil y Guayas, y desde pistas alternativas como Taura (Guayas), Salinas (Santa Elena) o Manta (Manabí), con aviones adecuados y con prácticas sanitarias especiales", aseveró Viteri. El documento, de seis puntos, también lo firman Juan José Yúnez, alcalde de Samborondón; Wilson Cañizárez, de Daule; y Dalton Narváez, de Durán. Los cinco firmantes pertenecen al Partido Social Cristiano (PSC).   Los alcaldes rechazaron que el Gobierno haya autorizado el aterrizaje de aviones, porque consideran que, al concentrarse en la ciudad la llegada de pasajeros, puede aumentar el "contagio exponencial del coronavirus en la provincia del Guayas y, especialmente, en Guayaquil". (I)
## 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       La directora del Servicio de Gestión de Riesgos, Alexandra Ocles se refirió este jueves a la decisión de la alcaldesa de guayaquil, Cynthia Viteri, de no permitir el ingreso de una aeronave de KLM, que venía desde España, al aeropuerto del Puerto Principal. En el primero de dos reportes, vía virtual, Ocles Ocles señaló que es una acción que seguramente tendrá consecuencias legales y como país se ratifica reciprocidad con los países europeos. "Lo sucedido ayer no solucionó un problema, lo complicó más. Lo importante es lograr que los ciudadanos extranjeros puedan salir del país". Según Viteri, la nave venía desde Madrid con once tripulantes, quienes iban a quedarse en un hotel de Guayaquil hasta el próximo viernes. En una rueda de prensa virtual, la alcaldesa explicó que durante una reunión que mantuvo el miércoles con el vicepresidente de la República, Otto Sonnenholzner, y el ministro de Transporte, Gabriel Martínez, les advirtió que impediría el aterrizaje de dicha nave. "¿Cómo es posible que iban a permitir que hoy aterrice un avión de Madrid con once tripulantes para que se queden en la ciudad de mayor grado de casos de coronavirus hasta el día viernes de esta semana para que vuelva a despegar con pasajeros? Eso, lamentablemente, es criminal", dijo Viteri. (I)
## 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      La noticia de que Cynthia Viteri tiene coronavirus se dio a conocer durante mañana de este jueves 19 de marzo. A pocas horas de su video, la Alcaldesa de Guayas mostró otra grabación de una visita de un policía y confirmó el contagio de su esposo.   A través de un video en las redes sociales, Cynthia Viteri confirmó que estaba infectada. Ante esta declaración, la alcaldesa informó que la policía acudido a su hogar para preguntar si el Ministerio de Salud Pública le había notificado su contagio. La Alcaldeza se encargó de grabar el momento en el que el policía le pedía datos y ella le entregaba toda la información pertinente. Además, durante la grabación, Viteri señala que su esposo también está contagiado. Hay dos casos confirmados por el Ministerio de Salud. El caso de mi marido, Joaquín Villamar, y mi caso, Cynthia Viteri". Además, la Alcaldesa señaló que el Ministerio de Salud acudió a su casa para hacerles las pruebas durante la noche del martes 17 de marzo. "Esta mañana nos informaron que somos positivos".  Puedes leer      
## 6  Aunque en el país existe la restricción por parte de las autoridades de Salud de que las personas de la tercera edad salgan de sus casas, en Guayaquil hay un plan para que puedan ingresar a los mercados, esto debido a que muchos adultos mayores no tienen quién los ayude con las compras del día. Por la emergencia sanitaria ocasionada por el COVID-19 y el toque de queda que rige en todo el país, la alcaldesa Cynthia Viteri anunció una nueva disposición para la atención de adultos mayores en mercados de la ciudad, que se ejecuta desde ayer. A este segmento de la población se atiende exclusivamente de 09:00 a 11:00.  En este horario solo se recibe a personas mayores de 65 años. La funcionaria reconoció que muchas no cuentan con familiares o personas allegadas que salgan a comprar por ellas, para evitar que se expongan al contagio del coronavirus. Lucía Torres, de 72 años de edad, menciona que este tipo de medidas ayudan a que los adultos mayores puedan hacer sus compras más rápido, debido a que en muchas ocasiones se les dificulta caminar ante la aglomeración de personas que suele haber en estos sitios. “A mí me toca hacer las compras por mí misma porque mis hijos viven fuera de Guayaquil y no tengo familiares cercanos a quienes acudir. Que nos hayan dado un horario preferencial nos facilita un poco las cosas porque además de caminar cómodos podemos encontrar los alimentos que necesitamos”, señala Torres, quien fue al mercado municipal de Sauces 9. Fernando Fajardo tiene 69 años y ayer hizo sus compras a las 09:30 en el mercado municipal ubicado en la 27 y la J, suroeste de la urbe. “Hay un control sanitario muy bueno por parte de las autoridades para evitar el contagio del virus; todos los puestos lucen ordenados y limpios. La medida ayuda para que nosotros, que somos el grupo más vulnerable para contraer el coronavirus, podamos tomar distancia del prójimo y así tener contactos innecesarios. Además, así podemos realizar las compras más rápido”, dijo. Jorge Rodríguez, funcionario del Municipio, mencionó que en los 37 mercados urbanos de la red municipal se tiene establecido el mismo horario de atención preferencial, el cual es el que más registra flujo de personas. Además, Rodríguez no descartó que la Autoridad de Tránsito Municipal (ATM) y la Policía Metropolitana ayuden a personas de la tercera edad a realizar sus compras. Mediante un enlace virtual, Viteri destacó que el horario de los mercados municipales es de 06:00 a 14:00. (I)
##                                                                                                                                                      titular
## 1                                                                                               Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil
## 2                                                                        Alcaldesa de Guayaquil, Cynthia Viteri, anuncia que está contagiada con coronavirus
## 3                                              Coronavirus en Ecuador: Cynthia Viteri y otros alcaldes de Guayas rechazan aterrizaje de aviones en Guayaquil
## 4 Alexandra Ocles, sobre decisión de Cynthia Viteri de no permitir ingreso de avión desde España: Es una acción que seguramente tendrá consecuencias legales
## 5                                                                      Cynthia Viteri fue visitada por la policía y confirmó que su esposo tiene coronavirus
## 6                                                                                              Adultos mayores acuden a los mercados en horario preferencial

Ejemplos de noticias

str(NoticiasDF$noticia[NoticiasDF$titular=="Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil"], nchar.max = 500)
##  chr "Cynthia Viteri modificó horarios para la atención, e informó que la urbe porteña está pasando otros males. Viteri dispuso que la Empresa Municipal de Agua Potable de Guayaquil distribuya gratuitamente agua a 150 mil personas que viven en monte Sinaí. “Esto durará hasta la finalización del estado de emergencia”, señaló.   Destacó que no hay transporte urbano público en la ciudad. \"Los adultos mayores, solo adultos mayores, podrán acudir a los mercados desde las 09:00 hasta las 1"| __truncated__

Eliminación de stopwords

NoticiasDF$noticiaLimpia = removePunctuation(NoticiasDF$noticia)
NoticiasDF$noticiaLimpia = removeNumbers(NoticiasDF$noticiaLimpia)
NoticiasDF$noticiaLimpia = tolower(NoticiasDF$noticiaLimpia)
stopwords_es_1 = read_excel("CustomStopWords.xlsx")
stopwords_es_2 = tibble(Palabra=tm::stopwords(kind = "es"), Fuente="tm")
stopwords_es_3 = tibble(Palabra=stopwords::stopwords(language = "es", source = "stopwords-iso")
                        , Fuente="stopwords-iso")
stopwords_es_4 = tibble(Palabra=stopwords::stopwords(language = "es", source = "snowball")
                        , Fuente="snowball")
stopwords_es = rbind(stopwords_es_1, stopwords_es_2, stopwords_es_3, stopwords_es_4)
stopwords_es = stopwords_es[!duplicated(stopwords_es$Palabra),]
remove(stopwords_es_1, stopwords_es_2, stopwords_es_3, stopwords_es_4)

stopwords_es[sample(nrow(stopwords_es),size = 10, replace = F),]
## # A tibble: 10 x 2
##    Palabra Fuente                                       
##    <chr>   <chr>                                        
##  1 solos   https://countwordsfree.com/stopwords/spanish 
##  2 breve   https://github.com/stopwords-iso/stopwords-es
##  3 hacer   https://countwordsfree.com/stopwords/spanish 
##  4 todavía https://countwordsfree.com/stopwords/spanish 
##  5 seáis   https://github.com/stopwords-iso/stopwords-es
##  6 cuales  https://countwordsfree.com/stopwords/spanish 
##  7 tercera https://countwordsfree.com/stopwords/spanish 
##  8 varios  https://countwordsfree.com/stopwords/spanish 
##  9 podrá   https://countwordsfree.com/stopwords/spanish 
## 10 porque  https://countwordsfree.com/stopwords/spanish
NoticiasDF$noticiaLimpia = removeWords(NoticiasDF$noticiaLimpia, words = stopwords_es$Palabra)
NoticiasDF$noticiaLimpia = str_squish(NoticiasDF$noticiaLimpia)

Resultados:

str(NoticiasDF$noticiaLimpia[NoticiasDF$titular=="Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil"], nchar.max = 500)
##  chr "cynthia viteri modificó horarios atención urbe porteña pasando males viteri dispuso empresa municipal agua potable guayaquil distribuya gratuitamente agua mil personas viven monte sinaí “ durará finalización emergencia” destacó transporte urbano público ciudad adultos mayores adultos mayores acudir mercados objetivo facilitar compras resto personas edades realizarlo horarios empieza toque queda nivel nacional amenaza viteri coronavirus único enfrenta ciudad dengue “ fumigando ca"| __truncated__

Lematización

UDPipe, Facultad de Matemáticas y Física de la Universidad de República Checa

# Lematizacion udpipe
model <- udpipe_load_model(file = "udpipe model spanish/spanish-gsd-ud-2.4-190531.udpipe")
udpipe_lema <- udpipe_annotate(model, x = NoticiasDF$noticia, doc_id = NoticiasDF$titular)
udpipe_lema <- as_tibble(udpipe_lema)

udpipe_lema %>%
  unnest_tokens(output = Palabra, input = token) %>% 
  anti_join(stopwords_es) -> udpipe_lema
## Joining, by = "Palabra"
udpipe_lema[udpipe_lema$Palabra=="decidió",c("Palabra","lemma")]
## # A tibble: 4 x 2
##   Palabra lemma  
##   <chr>   <chr>  
## 1 decidió decidir
## 2 decidió decidir
## 3 decidió decedir
## 4 decidió decidir
udpipe_lema[udpipe_lema$Palabra=="trabajando",c("Palabra","lemma")]
## # A tibble: 4 x 2
##   Palabra    lemma   
##   <chr>      <chr>   
## 1 trabajando trabajar
## 2 trabajando trabajar
## 3 trabajando trabajar
## 4 trabajando trabajar

Tokenización

# Tokenización por palabras
tidy_NoticiasDF <- NoticiasDF %>%
  unnest_tokens(output = Palabra,input = noticiaLimpia)

# Tokenización por n-gramas
tidy_NoticiasDF_ngram3 <- NoticiasDF %>%
  unnest_tokens(output = Palabra,input = noticiaLimpia, token = "ngrams", n = 3)

# La función se encarga de descartar puntuación y caracteres especiales, todo en minúsculas
head(tidy_NoticiasDF$Palabra[tidy_NoticiasDF$titular=="Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil"], n = 20)
##  [1] "cynthia"       "viteri"        "modificó"      "horarios"     
##  [5] "atención"      "urbe"          "porteña"       "pasando"      
##  [9] "males"         "viteri"        "dispuso"       "empresa"      
## [13] "municipal"     "agua"          "potable"       "guayaquil"    
## [17] "distribuya"    "gratuitamente" "agua"          "mil"
head(tidy_NoticiasDF_ngram3$Palabra[tidy_NoticiasDF_ngram3$titular=="Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil"], n = 20)
##  [1] "cynthia viteri modificó"            "viteri modificó horarios"          
##  [3] "modificó horarios atención"         "horarios atención urbe"            
##  [5] "atención urbe porteña"              "urbe porteña pasando"              
##  [7] "porteña pasando males"              "pasando males viteri"              
##  [9] "males viteri dispuso"               "viteri dispuso empresa"            
## [11] "dispuso empresa municipal"          "empresa municipal agua"            
## [13] "municipal agua potable"             "agua potable guayaquil"            
## [15] "potable guayaquil distribuya"       "guayaquil distribuya gratuitamente"
## [17] "distribuya gratuitamente agua"      "gratuitamente agua mil"            
## [19] "agua mil personas"                  "mil personas viven"
# Tokenización final a partir del DF lematizado
tidy_NoticiasDF = udpipe_lema %>% 
  filter(!is.na(lemma)) %>% 
  unnest_tokens(output = Palabra, input = Palabra)

names(tidy_NoticiasDF)[which(names(tidy_NoticiasDF)=="doc_id")] = "titular"
head(tidy_NoticiasDF$lemma[tidy_NoticiasDF$titular=="Alcaldesa Cynthia Viteri anunció nuevas medidas en Guayaquil"], n = 20)
##  [1] "Cynthia"       "Viteri"        "modificar"     "horario"      
##  [5] "atención"      "urbe"          "porteño"       "pasar"        
##  [9] "mal"           "Viteri"        "disponer"      "empresa"      
## [13] "municipal"     "agua"          "potable"       "Guayaquil"    
## [17] "distribuir"    "gratuitamente" "agua"          "150"

Stemming

tidy_NoticiasDF$Stem = stemDocument(tidy_NoticiasDF$Palabra, language="spanish")
tidy_NoticiasDF[tidy_NoticiasDF$Palabra=="decidió",c("Palabra","lemma","Stem")]
## # A tibble: 4 x 3
##   Palabra lemma   Stem 
##   <chr>   <chr>   <chr>
## 1 decidió decidir decid
## 2 decidió decidir decid
## 3 decidió decedir decid
## 4 decidió decidir decid
tidy_NoticiasDF[tidy_NoticiasDF$Palabra=="ecuatoriano",c("Palabra","lemma","Stem")]
## # A tibble: 4 x 3
##   Palabra     lemma       Stem      
##   <chr>       <chr>       <chr>     
## 1 ecuatoriano ecuatoriano ecuatorian
## 2 ecuatoriano ecuatoriano ecuatorian
## 3 ecuatoriano ecuatoriano ecuatorian
## 4 ecuatoriano ecuatoriano ecuatorian
tidy_NoticiasDF %>% 
  inner_join(NoticiasDF[c("titular","Fecha","Diario")], by="titular") -> tidy_NoticiasDF
save("NoticiasDF","tidy_NoticiasDF",file = "NoticiasDF_udpipe_lema.RData")